package com.ycy;

public class Demo {

  public static void main(String[] args) {
    Food touDouSiFactory = new TouDouSiFactory();
    Food food = touDouSiFactory.create();

    Food tangcuXiaoPaiFactory = new TangcuXiaoPaiFactory();
//    Food  = tangcuXiaoPaiFactory.create();
  }

}

/**
 *
 */
interface Food {

  /**
   * create 就是 工厂方法
   *
   * @return
   */
  Food create();


}


class TouDouSiFactory implements Food {

  @Override
  public Food create() {
    return new TouDouSiFactory();
  }

}

class TangcuXiaoPaiFactory implements Food {

  @Override
  public Food create() {
    return new TangcuXiaoPaiFactory();
  }

}


class 土豆丝原料工厂 {

  佐料 createZuoLiao() {
    return new Yan();
  }

  食材 createShicai() {
    return new 土豆丝();
  }

}

class 糖醋排骨原料工厂 {

  佐料 createZuoLiao() {
    return new Tang();
  }

  食材 createShicai() {
    return new 肉();
  }

}


interface 佐料 {
}

class Tang implements 佐料 {
}

class Yan implements 佐料 {
}

interface 食材 {
}

class 土豆丝 implements 食材 {

}

class 肉 implements 食材 {

}
